c语言中"\0"的意思

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:52:12
main(){
char st[20],*ps;
int i;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps[i]!='\0';i++) 这句当中的\0是什么意思?
if(ps[i]=='k')
{
printf("there is a 'k' in the string\n");
break;
}
if(ps[i]=='\0') printf("There is no 'k' in the string\n");
}

字符串的最后一位其实都是默认加一个"\0"来表示结束的
for(i=0;ps[i]!='\0';i++) 这句话就是利用循环检测字符串中的字符是否等于\0,假如等于就说明到字符串的结尾了

其实就是 char型的0值

'\0'是字符串结束标志,在字符数组中结尾会有一个字符串结束标志,但这个标志并不能输出,
for(i=0;ps[i]!='\0';i++)这里的意思就是如果 ps[i]为字符串结束标志,也就是字符数组ps没有了,就会结束循环.

在内存中用来标记字符串尾的

\0在C里是字符串结束的标志,表示字符串到这里结束了。它不能输出,也不需要你输入的,是系统自动加上的。比如字符串“a”实际上包含了2个字符:'a'和'\0'.

char型的0值